1. Field of the Invention
The present invention relates to capacity management in a computer system such as server or network and, more particularly, to a method and system for analyzing the resource needs of a computer system that uses highly configurable software.
2. Description of the Related Art
The certification authorities require that safety-critical software that is used on aircrafts is verified. This verification is mostly done through functional testing, during which one determines whether or not the software meets all applicable the software requirements. Another required step is an analysis of resource needs, in particular the need for different types of memory and computing time on the target platform. The idea of this analysis is to rule out any potential for the computing system running out of memory or taking longer than is acceptable to perform a certain task. This applies also to safety critical software systems outside of the aviation world, for example in automotive and medical systems.
Traditionally, this analysis is done by determining a set of worst-case scenarios and then validating that the software does indeed work for in these worst cases. This is quite feasible as long as what the software does is predictable and well understood. If the software later changes, a change impact analysis determines (among other things) whether the worst-case scenarios have changed and/or if the validation needs to be completed. For example, relative to avionics applications, when software applications can be configured by the (airline) customer to do things in different ways, the various different options that can be chosen through this configuration need to be taken into account when determining the worst-case scenarios.
Specifically, a new avionics software application called “ARINC 661 Graphics Server” (AGS), developed by present assignee, Rockwell Collins, Inc., is so highly configurable that it is impossible to predict its resource needs in a generic way. Instead, the resource needs become a function of the configuration data that is loaded into the AGS. This AGS configuration can be modified by Rockwell Collins and/or their customers, and especially if the customer makes a modification to the AGS configuration, it may not always be easy for them to accurately assess the effect that this change has on the performance of the system in general, and whether the AGS with the modified configuration would still pass a traditional worst-case analysis in particular.
As will be disclosed in detail below, to address this concern, Rockwell Collins is developing a software tool named “Resource Analyzer” that reads an entire AGS configuration and computes worst-case data for memory consumption (both heap and stack memory) and processor utilization, both for the main processor and for the special graphics processor. The customer can then evaluate the performance effect that the configuration change has. If the Resource Analyzer is qualified (following the DO-178B guidelines for software tool qualification), it can completely eliminate any manual worst-case analysis through a traditional system test. Even if it is not qualified, it can still compute the required data, even though this data has to be manually validated.